<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>ПЗУ</title>
</head>

<body bgcolor="FFFFFF">

<h1><img align="center" src="../../../../icons/rom.gif" width="32" height="32">
<em>ПЗУ</em></h1>

<p><table>
<tr><td><strong>Библиотека:</strong></td>
	<td><a href="index.html">Память</a></td></tr>
<tr><td><strong>Введён в:</strong></td>
	<td>2.1.0</td></tr>
<tr><td valign="top"><strong>Внешний вид:</strong></td>
	<td valign="top"><img src="../../../../img-libs/rom.png" width="145" height="84"></td></tr>
</table></p>

<h2>Поведение</h2>

<p>Компонент ПЗУ хранит до 16777216 значений (это задаётся в атрибуте Разрядность адреса), каждое из которых может включать до 32 битов (задаётся в атрибуте Разрядность данных). Схема может получать доступ к текущим значениям в ПЗУ, но не может менять их. Пользователь может интерактивно изменять отдельные значения с помощью Инструмента Нажатие, или менять всё содержимое через Инструмент Меню.</p>

<p>В отличие от компонента ОЗУ, текущее содержимое компонента ПЗУ хранится в виде атрибута компонента. Таким образом, если схема, содержащая компонент ПЗУ, используется два раза, то оба компонента будут хранить одинаковые значения. Также, из-за такого поведения, текущее содержимое ПЗУ хранится в файлах, созданных Logisim.</p>

<p>Текущие значения отображаются в компоненте. Их адреса перечислены серым слева от области отображения. Значения внутри представлены в шестнадцатеричном виде. Значение выбранного в данный момент адреса будет отображаться негативным текстом (белым по чёрному).</p>

<h2>Контакты</h2>

<dl>

<dt><var>A</var> на западном крае (вход, разрядность соответствует атрибуту Разрядность адреса)</dt>
<dd>Выбирает, к какому значению схема в данный момент получает доступ.</dd>

<dt><var>D</var> на восточном крае (вход/выход, разрядность соответствует атрибуту Разрядность данных)</dt>
<dd>Выдаёт значение по выбранному в данный момент адресу на контакт <var>D</var>, если на входе <var>sel</var> 1 или плавающее значение. Если на входе <var>sel</var> 0, то значение на выходе <var>D</var> будет плавающим.</dd>

<dt><var>sel</var> на южном крае (вход, разрядность равна 1)</dt>
<dd>Если у вас только один модуль ПЗУ, игнорируйте этот вход. Если у вас несколько модулей ПЗУ параллельно, то вы можете использовать этот вход, чтобы включить или отключить весь модуль ПЗУ, в зависимости от того, какое значение на этом входе: 1 или 0. Иными словами, если на этом входе 0, то никакого значения не выдаётся на выход <var>D</var>.</dd>

</dl>

<h2>Атрибуты</h2>

<p>Когда компонент выбран, или уже добавлен, клавиши от 0 до 9 меняют его атрибут <q>Разрядность адреса</q>, а комбинации от Alt-0 до Alt-9 меняют его атрибут <q>Разрядность данных</q>.</p>

<dl>

<dt>Разрядность адреса</dt>
<dd>Число адресных битов. Количество значений, хранящихся в ПЗУ равно 2<sup><var>Разрядность_адреса</var></sup>.</dd>

<dt>Разрядность данных</dt>
<dd>Разрядность каждого отдельного значения в памяти.</dd>

<dt>Содержимое</dt>
<dd>Хранит содержимое памяти.</dd>

</dl>

<h2>Поведение Инструмента Нажатие</h2>

<p>См. <a href="../../guide/mem/mem-poke.html">Нажатие на память</a> в <em>Руководстве пользователя</em>.</p>

<h2>Поведение Инструмента Текст</h2>

<p>Нет.</p>

<h2>Поведение Инструмента Меню</h2>

<p>См. <a href="../../guide/mem/mem-menu.html">Всплывающие меню и файлы</a> в <em>Руководстве пользователя</em>.</p>

<p><a href="../index.html">Назад к <em>Справке по библиотеке</em></a></p>

</body>
</html>
